import request from '@/utils/request'
import { setToken } from '@/utils/auth'

// 用户登录接口
export function login(data) {
  return request({
    url: '/api/auth/login',
    method: 'post',
    data
  }).then(response => {
    // 假设服务器返回的数据结构是 { code: number, message: string, data: { token: string } }
    const { code, data: responseData } = response
    if (code === 20000) { // 或者根据你的实际情况调整判断条件
      const { token } = responseData
      setToken(token) // 登录成功后保存Token
    }
    return response // 返回完整的响应给调用者
  }).catch(error => {
    // 处理错误
    console.error('Login failed:', error)
    return Promise.reject(error)
  })
}

// 获取用户信息接口
export function getInfo(token) {
  return request({
    url: '/api/auth/info',
    method: 'get',
    params: { token }
  })
}
export function getRoles() {
  return request({
    url: '/api/roles',
    method: 'get'
  });
}

// 用户登出接口
export function logout() {
  return request({
    url: '/api/auth/logout',
    method: 'post'
  })
}

// 获取用户列表接口
export function getUsersRole() {
  return request({
    url: '/api/users-role', // 假设这是获取用户列表的API路径
    method: 'get'
  })
}

export function getUsers() {
  return request({
    url: '/api/users', // 假设这是获取用户列表的API路径
    method: 'get'
  })
}



// 添加新用户接口
export function addUser(data) {
  return request({
    url: '/api/users',
    method: 'post',
    data
  })
}

// 编辑用户接口
export function editUser(id, data) {
  return request({
    url: `/api/users/${id}`,
    method: 'put',
    data
  })
}

// 删除用户接口
export function deleteUser(id) {
  return request({
    url: `/api/users/${id}`,
    method: 'delete'
  })
}

// 重置用户密码接口
export function resetPassword({ id, ...data }) {
  return request({
    url: `/api/users/${id}/reset-password`,
    method: 'post',
    data
  })
}